package com.hsp.poly_.detail;

public class PolyDetail {
    public static void main(String[] args) {
        //向上转型:父类的引用指向了子类的对象
        Animal animal = new Cat();
        animal.show();
        //可以调用父类中的所有成员（需遵守访问权限）
        //但是不能调用子类的特有的成员
        //因为在编译阶段，能调用哪些成员，是由编译类型来决定的
//        animal.catchMouse();
        animal.run();
        animal.eat();
        //这是子类的成员，向上转型不能访问
//        animal.catchmouse();

        //向下转型
        //animal已经转型成了Cat,从父类型转成了子类型
        Cat cat = (Cat) animal;
        cat.catchMouse();

        Cat cat1 = new Cat();
        cat1.catchMouse();
    }
}
